%% Version of 27 October 2003
%% \ds, \mx defined

\ProvidesFile{eclmacros.sty}

\input{Umsa57.fd}\input{Umsb57.fd}\input{Ueuf57.fd}
\DeclareSymbolFont{AMSa}{U}{msa}{m}{n}
\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
\DeclareSymbolFontAlphabet{\mathbb}{AMSb}
\DeclareSymbolFont{Eufr}{U}{euf}{m}{n}
\DeclareSymbolFontAlphabet{\fraktur}{Eufr}

\begingroup \catcode`\"=12
\DeclareMathSymbol{\leq}{\mathrel}{AMSa}{"36}
\DeclareMathSymbol{\geq}{\mathrel}{AMSa}{"3E}
\DeclareMathSymbol{\sdp}{\mathbin}{AMSb}{"6F}
\DeclareMathSymbol{\emptyset}{\mathord}{AMSb}{"3F}
\DeclareMathSymbol{\setminus}{\mathbin}{AMSb}{"72}
\endgroup
\renewcommand\epsilon{\varepsilon}

\def\@vereq#1#2{\setbox0=\vbox{$#1x$}\lower.27\ht0\vbox{\baselineskip\z@%
\lineskip\z@\ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}} % Redefines \cong

\renewcommand\newline{\ifvmode \leavevmode \else \unskip\nobreak\hfil 
  \penalty -\@M\fi}
\def\<{\langle}
\def\>{\rangle}
\def\split#1{{\mathbb{\uppercase{#1}}}}
\def\script#1{{\mathcal{\uppercase{#1}}}}
\def\german#1{{\fraktur{#1}}}
\def\vec#1{{\mathbf{#1}}}
\def\gap{\vskip\baselineskip}
\def\pushdown{^{\vphantom{*}}}
\def\mgap{\mathchoice{\mkern-12mu}{\mkern-8mu}{\mkern-10mu}{\mkern-10mu}}
\def\pgap{\mkern-3mu}
\def\half{\mathchoice{{\textstyle\frac{1}{2}}}{\frac{1}{2}}{\frac{1}{2}}{\frac{1}{2}}}
\def\to{\rightarrow}
\def\sint{\int\pgap}
\def\defint#1#2{\int_{#1}^{#2}\pgap}
\def\iint{\int\mgap\sint}
\def\iiint{\int\mgap\iint}
\def\tensor{\mathinner{\raise0.9pt\hbox{$\textstyle\otimes$}}}
\def\stensor{\mathinner{\raise0.55pt\hbox{$\scriptstyle\otimes$}}}
\def\sstensor{\mathinner{\raise0.5pt\hbox{$\scriptscriptstyle\otimes$}}}
\def\mdot{\mathinner{\cdot}}
\def\ds{\displaystyle}

\def\rom{\@ifnextchar*{\@romx}{\@romy}}
\def\@romx*#1{\expandafter\newcommand\csname#1\endcsname%
  {\mathop{\operator@font#1}\,}}
\def\@romy#1{\expandafter\newcommand\csname#1\endcsname%
  {\mathop{\operator@font#1}\nolimits}}

\def\wr@ng#1{\def#1{\@latex@error{Command \protect#1 is only valid at the start
  \MessageBreak of its environment}\@eha}}
\wr@ng\bunch \wr@ng\lineup

\def\[{\relax\ifmmode\@badmath\fi\let\t@g\relax\futurelet\next\displ@y}
\def\displ@y{\def\: {\futurelet\next\displ@y}\ifx\next\@sptoken
  \expandafter\:\else\expandafter\d@spl@y\fi}
\def\d@spl@y{\ifx\next\lineup \@eqcnt\tw@ \else \def\xt@g{\eqno\hbox{\@eqnnum}}
  \ifx\next\bunch \@eqcnt\@ne \else \@eqcnt\z@ \fi \fi \def\:{\relax}
  \ifcase\@eqcnt \let\next\relax$$\or \st@rtbunch \or \st@rtline \fi \next}
\def\]{\ifcase\@eqcnt \t@g $$\or \@ndbunch \or \@ndline \fi\ignorespaces}
\def\st@rtbunch{\ifvmode\@latex@error{Don't start a display in vertical mode!}
  \@ehc \fi \let\next\@gobble \vadjust{\vskip \abovedisplayskip} \bgroup
  \@tempskipa\belowdisplayskip \abovedisplayskip \z@ \belowdisplayskip \z@
  \abovedisplayshortskip \z@ \belowdisplayshortskip \z@
  \def\\{\vadjust{\vskip \jot plus1pt minus1pt}
  \t@g $$\let\t@g\relax $$}\m@th $$}
\def\@ndbunch{\vadjust{\vskip\@tempskipa} \t@g $$\egroup}
\def\@centre{\tabskip\z@ plus1fil \everycr{}}
\def\st@rtline{\global\@eqnswtrue \let\t@g\relax \let\dr@p\z@skip \let\next\@gobble
  \def\xt@g{&\lower\dr@p\hbox{\@eqnnum}} \@centre
  $$ \let\\\@linecr \openup\jot
  \halign to \displaywidth \bgroup \strut \hfil
  $\displaystyle{##}$\tabskip\z@skip&\global\@eqnswfalse
  $\displaystyle{{}##}$\hfil\span\@centre&\global\@eqnswtrue
  \llap{##}\tabskip=-0.7em\cr}
\def\@linecr{\@l@necr \noalign{\penalty\interdisplaylinepenalty}}
\def\@l@necr{\if@eqnsw \@latex@error{Wrong number of columns in eqnlist}
  \@ehc \fi \global\@eqnswtrue \t@g \gdef\t@g{\relax} \gdef\dr@p{\z@skip} \cr}
\def\tag#1{\gdef\t@g{\stepcounter{equation}
  \def\@currentlabel{\p@equation \theequation} \label{#1} \xt@g}}
\def\@ndline{\@l@necr \egroup $$}
\newcommand{\drop}[1][\baselineskip]{\gdef\dr@p{#1}}

\def\eqnref#1{\textup{(\ref{#1})}}

\newcounter{st@te}
\newenvironment{state}[1]{\ifvmode \noindent \else \vadjust{\penalty-100
  \medskip}\newline\fi \bgroup \textsc{#1}\@ifnextchar *{\xst@te}{\yst@te}}%
  {\egroup\vadjust{\penalty 200 \vskip-\parskip \medskip}\par}
\def\xst@te*{.\enspace\slshape}
\def\yst@te{\refstepcounter{st@te} \thest@te.\enspace \slshape}
\newenvironment{proof}{\noindent \emph{Proof}.\enspace}{\par
  \ifdim\parskip<\medskipamount \gap \fi}

\def\@delims#1,#2{\gdef\ldelim{#1}\gdef\rdelim{#2}}
\renewenvironment{matrix}[1][(,)]{\def\-##1{\,\,##1\,\,}\@delims #1 \let\\\cr 
  \left\ldelim\,\vcenter \bgroup \normalbaselines \m@th\ialign \bgroup 
  \hfil$##$\hfil&&\quad \hfil$##$\hfil\cr \mathstrut \cr 
  \noalign{\kern-\baselineskip}}%
  {\crcr\mathstrut\cr\noalign{\kern-\baselineskip}\egroup \egroup \,\right\rdelim}
\def\mx#1{\begin{matrix}[[,{]}]#1\end{matrix}}

\endinput

